package org.yuanqiframework.yuanqi.boot.sys.mapper;

import org.apache.ibatis.annotations.*;

import java.util.List;
import java.util.Map;

/**
 * 执行动态 SQL 查询（需确保 SQL 来自可信来源）
 * sql 动态 SQL 语句
 * params 参数键值对（可选）
 * 可以利用MapEntityUtils对Map进行转换
 * MapEntityUtils.mapToEntity(stringObjectMap, SysUserVO.class);
 */
public interface CommonMapper {

    @Select("${sql}")
    List<Map<String, Object>> commonQueryList(@Param("sql") String sql, @Param("o") Object o);

    @Select("${sql}")
    Map<String, Object> commonQueryOne(@Param("sql") String sql, @Param("o") Object o);

    @Update("${sql}")
    int commonUpdate(@Param("sql") String sql, @Param("o") Object o);

    @Delete("${sql}")
    int commonDelete(@Param("sql") String sql, @Param("o") Object o);

    @Insert("${sql}")
    int commonInsert(@Param("sql") String sql, @Param("o") Object o);
}